package com.le.edu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.le.edu.domain.entity.Video;
import com.le.edu.domain.vo.CreateTaskParam;
import com.le.edu.domain.vo.TaskInfoVo;

import java.util.List;
import java.util.Map;

/**
 * @author 17447
 * @description 针对表【t_video】的数据库操作Service
 * @createDate 2024-04-09 12:35:12
 */
public interface VideoService extends IService<Video> {

    TaskInfoVo getTaskInfo(String identifier);

    Video getByIdentifier(String identifier);

    TaskInfoVo createTask(CreateTaskParam param);

    String genPreSignUploadUrl(String bucketName, String objectKey, Map<String, String> params);

    String merge(String identifier);

    /**
     * 视频表删除 and minio删除视频
     *
     * @param videoIds
     */
    void removeTableAndVodByIds(List<Long> videoIds);

    void deleteVideo(Video video);

    /**
     * 视频表删除 and minio删除视频
     *
     * @param videoId
     */
    void removeTableAndVodById(Long videoId);
}
